#!/usr/bin/env bash
## 条件测试
# 1、test 测试表达式
# 2、[ 测试表达式 ]
# 3、[[ 测试表达式 ]]
# 4、((测试表达式))

# 1、2、3方式中测试表达式两侧必须有至少一个空格，4不用
# 1、2等价，3是test的扩展，4常用于计算
# &&、||、<、>、应用于[[]]中，而不能在[]中，在[]中常用 -a 、-o 、-lt(用于整数)、-gt（用于整数）

## 文件测试
# -d 文件存在且为目录则为真
# -f 文件存在且为普通文件则为真
# -e 文件存在则为真
# -r 文件存在且可读
# -w 文件存在且可写
# -x 文件存在且可执行

## 字符串测试
# -n "字符串" ：字符串长度不为0，则为真
# -z "字符串" ：字符串长度为0，则为真
# "串1" = "串2" ：串1等于串2则为真
# "串1" != "串2" ： 串1不等于串2才为真
# 1.字符串测试，一定要加上""后在比较，如[ -n "$myvar" ],避免出现错误
# 2.= 和 != 两端一定要有空格

## 整数比较符号
# []                    test中使用的符号          (())、[[]]中使用
# -eq                   :相等                    ==/=
# -gt                   :大于                    >
# -lt                   :小于                    <
# -ne                   :不相等                  !=
# -ge                   :大于等于                >=
# -le                   :小于等于                <=
#
# 注：
# 1.比较符号两端需要有空格
# 2.若在[]中使用>、<时，需要转义，（一般不建议在[]中使用>、<）
# 3.尽量使用[] ,若在[]不行时，才使用[[]],尽量使用[]加 -eq的写法


## 逻辑操作符号
# []          test中使用   在[[]]、(())使用
# -a          &&          与
# -o          ||          或
# !           !           非